package com.engine.kq.entity;

/**
 * 假期余额
 */
public class KQBalanceOfLeaveEntity {
    /**
     * 主键ID
     */
    int id;
    /**
     * 假期规则ID
     */
    int leaveRulesId;
    /**
     * 人员ID
     */
    int resourceId;
    /**
     * 所属年份
     * 数据格式：yyyy
     */
    String belongYear;
    /**
     * 假期余额基数
     * 混合模式下为法定年假的基数
     */
    double baseAmount = 0.00;
    /**
     * 已用的假期余额
     * 混合模式下为已用的法定年假的数量
     */
    double usedAmount = 0.00;
    /**
     * 额外的假期余额
     * 混合模式下为额外的法定年假的数量
     */
    double extraAmount = 0.00;
    /**
     * 仅用于混合模式下的福利年假的基数
     */
    double baseAmount2 = 0.00;
    /**
     * 仅用于混合模式下的已用的福利年假的数量
     */
    double usedAmount2 = 0.00;
    /**
     * 仅用于混合模式下的额外的福利年假的数量
     */
    double extraAmount2 = 0.00;
    /**
     * 是有有效：0-有效、1-无效
     */
    int status;
    /**
     * 失效日期
     */
    String expirationDate;
    /**
     * 生效日期
     */
    String effectiveDate;
    /**
     * 最小请假单位
     */
    int minimumUnit;

    public KQBalanceOfLeaveEntity() {
    }

    public KQBalanceOfLeaveEntity(int id, int leaveRulesId, int resourceId, String belongYear, double baseAmount, double usedAmount, double extraAmount, double baseAmount2, double usedAmount2, double extraAmount2, int status, String expirationDate) {
        this.id = id;
        this.leaveRulesId = leaveRulesId;
        this.resourceId = resourceId;
        this.belongYear = belongYear;
        this.baseAmount = baseAmount;
        this.usedAmount = usedAmount;
        this.extraAmount = extraAmount;
        this.baseAmount2 = baseAmount2;
        this.usedAmount2 = usedAmount2;
        this.extraAmount2 = extraAmount2;
        this.status = status;
        this.expirationDate = expirationDate;
    }
    public KQBalanceOfLeaveEntity(int id, int leaveRulesId, int resourceId, String belongYear, double baseAmount, double usedAmount, double extraAmount, double baseAmount2, double usedAmount2, double extraAmount2, int status, String expirationDate , String effectiveDate) {
        this.id = id;
        this.leaveRulesId = leaveRulesId;
        this.resourceId = resourceId;
        this.belongYear = belongYear;
        this.baseAmount = baseAmount;
        this.usedAmount = usedAmount;
        this.extraAmount = extraAmount;
        this.baseAmount2 = baseAmount2;
        this.usedAmount2 = usedAmount2;
        this.extraAmount2 = extraAmount2;
        this.status = status;
        this.expirationDate = expirationDate;
        this.effectiveDate = effectiveDate;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getLeaveRulesId() {
        return leaveRulesId;
    }

    public void setLeaveRulesId(int leaveRulesId) {
        this.leaveRulesId = leaveRulesId;
    }

    public int getResourceId() {
        return resourceId;
    }

    public void setResourceId(int resourceId) {
        this.resourceId = resourceId;
    }

    public String getBelongYear() {
        return belongYear;
    }

    public void setBelongYear(String belongYear) {
        this.belongYear = belongYear;
    }

    public double getBaseAmount() {
        return baseAmount;
    }

    public void setBaseAmount(double baseAmount) {
        this.baseAmount = baseAmount;
    }

    public double getUsedAmount() {
        return usedAmount;
    }

    public void setUsedAmount(double usedAmount) {
        this.usedAmount = usedAmount;
    }

    public double getExtraAmount() {
        return extraAmount;
    }

    public void setExtraAmount(double extraAmount) {
        this.extraAmount = extraAmount;
    }

    public double getBaseAmount2() {
        return baseAmount2;
    }

    public void setBaseAmount2(double baseAmount2) {
        this.baseAmount2 = baseAmount2;
    }

    public double getUsedAmount2() {
        return usedAmount2;
    }

    public void setUsedAmount2(double usedAmount2) {
        this.usedAmount2 = usedAmount2;
    }

    public double getExtraAmount2() {
        return extraAmount2;
    }

    public void setExtraAmount2(double extraAmount2) {
        this.extraAmount2 = extraAmount2;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getExpirationDate() {
        return expirationDate;
    }

    public void setExpirationDate(String expirationDate) {
        this.expirationDate = expirationDate;
    }

    public String getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(String effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public int getMinimumUnit() {
        return minimumUnit;
    }

    public void setMinimumUnit(int minimumUnit) {
        this.minimumUnit = minimumUnit;
    }

    public boolean equals(KQBalanceOfLeaveEntity entity) {
        if (this.baseAmount != entity.getBaseAmount()
                || this.extraAmount != entity.getExtraAmount()
                || this.usedAmount != entity.getUsedAmount()
                || this.baseAmount2 != entity.getBaseAmount2()
                || this.extraAmount2 != entity.getExtraAmount2()
                || this.usedAmount2 != entity.getUsedAmount2()) {
            return false;
        } else {
            return true;
        }
    }

    public boolean equalsByBaseAmount(KQBalanceOfLeaveEntity entity) {
        if (this.baseAmount != entity.getBaseAmount()
                || this.baseAmount2 != entity.getBaseAmount2()) {
            return false;
        } else {
            return true;
        }
    }
}
